공개 키 암호 방식
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
공개 키 암호 방식은 풀기 어려운 수학적 문제를 기반으로 암호화하는 방식으로, 공개 키와 비밀 키를 사용한다. 키 생성 알고리즘으로 공개 키와 비밀 키 쌍을 생성하고, 암호화 알고리즘으로 메시지를 암호화하며, 복호화 알고리즘으로 암호문을 해독한다. 초기에는 소인수 분해 문제를 사용한 RSA 암호 방식이 사용되었으며, 현재는 이산 로그 문제 기반의 타원곡선암호 등 다양한 방식이 개발되었다. 공개 키 암호는 기밀성, 인증, 부인 방지 등 다양한 응용 분야에 사용되며, 대칭 키 암호 방식과 함께 사용되는 하이브리드 암호 시스템도 존재한다. 그러나 키 유출, 중간자 공격, 부채널 공격, 메타데이터 유출 등의 취약점이 존재하며, 양자 컴퓨터의 등장으로 인해 양자 내성 암호 방식에 대한 연구도 진행되고 있다. 공개 키 기반 구조(PKI)는 디지털 인증서를 관리하고 공개 키 암호화를 관리하며, 웹 브라우저의 TLS/SSL 보안에도 사용된다.
공개 키 암호 방식은 풀기 어려운 수학적 문제를 기반으로 한다. 키를 만드는 사람은 이 문제(공개 키)를 공개하고, 특정한 정보(비밀 키)는 자신만 알도록 숨긴다. 그러면 누구든 이 문제를 이용해 메시지를 암호화할 수 있지만, 키를 만든 사람만이 비밀 키를 이용해 해독할 수 있다.
암호화 역사 초기에는 안전하지만 암호화되지 않은 키를 사용했다. 예를 들어 암호를 사용할 사람들이 미리 모여서 암호 키를 나누어 가지거나, 신뢰할 수 있는 전령을 통해 보내는 방식이었다. 이 키는 양쪽에서 완벽하게 보안을 유지하고 교환되는 메시지를 암호화하는 데 사용되었지만, 이러한 키 분배 방식에는 실용적으로 많은 어려운 문제가 따랐다. 공개 키 암호 방식은 이러한 문제를 해결하고, 사용자들이 사전에 미리 공유 키를 교환하지 않더라도 공개 채널 상에서 안전하게 통신할 수 있도록 해준다.
2. 원리
RSA와 같은 초기 암호 방식은 두 개의 큰 소수를 곱한 숫자를 문제로 사용했다. 사용자는 임의의 큰 소수 두 개를 비밀 키로 삼고, 그 곱을 공개 키로 공개한다. 큰 수의 소인수 분해는 매우 어렵기 때문에 다른 사람들은 비밀 키를 알 수 없다. 그러나 최근 연구가 진전되어 RSA의 안전성을 보장하기 위해서는 수천 비트 이상의 큰 소수를 키로 사용해야 한다.
이산 로그 문제를 기반으로 한 타원곡선암호도 사용된다. 유한군에서 ''a''''b'' = ''c'' 일 때, ''a''와 ''c''가 알려진 상태에서 ''b''를 구하는 문제는 풀기 어려운 것으로 알려져 있다. 실수나 복소수에서는 로그 함수를 이용해 쉽게 풀 수 있지만, 유한군에서는 어렵다.
공개 키 암호 시스템에서는 공개 키를 널리 공개하고, 개인 키만 비밀로 유지한다. 디지털 서명과 공개 키 암호화 두 가지 유형이 존재한다.
1976년 이전에는 대칭 키 암호 방식만이 수리 암호로 사용되었다. 대칭 키 암호 방식은 암호화와 복호화에 같은 키를 사용하며, 키 분배 문제가 있었다.
대칭 키 암호 방식의 통신 절차는 다음과 같다.
1. 송신자와 수신자는 은밀하게 공통 키 c를 주고받는다.
2. 송신자는 c로 메시지를 암호화하여 수신자에게 전송한다.
3. 수신자는 c로 암호문을 복호화하고 메시지를 읽는다.
만약 공통 키 c가 제3자에게 노출되면 암호 통신이 해독될 수 있다. 이러한 키 분배 문제는 송신자와 수신자가 서로 다른 키를 사용하는 공개 키 암호 방식이 고안되면서 해결되었다.
2. 1. 공개 키와 비밀 키
공개 키 암호 방식에서 공개 키는 누구나 접근할 수 있는 정보로, 메시지를 암호화하는 데 사용된다. 비밀 키는 키 소유자만이 알고 있는 정보로, 암호화된 메시지를 복호화하는 데 사용된다.
공개 키는 일반에 공개되어 누구나 메시지를 암호화하는 데 사용할 수 있지만, 비밀 키는 소유자만이 알고 있어야 암호화된 메시지를 해독할 수 있다. 초기 암호 방식인 RSA는 두 개의 큰 소수를 곱한 숫자를 공개 키로 사용하고, 두 소수를 비밀 키로 삼았다. 이는 큰 수의 소인수 분해가 어렵다는 점을 이용한 것이다.
이산 로그 문제를 바탕으로 한 타원곡선암호 등도 공개 키 암호 방식으로 사용된다. 방정식 ''a''''b'' = ''c'' 에서 ''a''와 ''c''가 주어졌을 때 ''b''를 구하는 문제는 유한군에서 풀기 어려운 것으로 알려져 있다.
공개 키 암호 시스템에서는 공개 키를 널리 배포하고, 개인 키만 비밀로 유지한다. 디지털 서명 시스템에서 송신자는 개인 키와 메시지로 '서명'을 생성하고, 공개 키를 가진 사람은 서명이 메시지와 일치하는지 확인할 수 있다.[4][5][6] 공개 키 암호화 시스템에서는 공개 키로 메시지를 암호화하여 '암호문'을 생성하고, 개인 키를 아는 사람만 암호문을 해독할 수 있다.[7]
공개 키 암호 방식을 사용한 통신 절차는 다음과 같다.
# 수신자는 자신의 공개 키(암호화 키) p를 공개한다.
# 송신자는 공개 키 p로 메시지를 암호화하여 전송한다.
# 수신자는 비밀 키(복호화 키) s로 암호문을 복호화하여 메시지를 읽는다.
도청자가 암호화된 메시지를 도청하더라도, 공개 키 p에서 비밀 키 s를 알아내는 것은 계산 시간상 매우 어렵기 때문에 암호문 복호화는 거의 불가능하다.
공개 키 암호 방식에서는 '''키 생성 알고리즘''', '''암호화 알고리즘''', '''복호화 알고리즘'''을 사용한다. 키 생성 알고리즘은 사용자가 사전에 실행하여 공개 키와 비밀 키 쌍을 생성한다. 암호화 알고리즘은 메시지와 수신자의 공개 키를 입력받아 암호문을 생성하고, 복호화 알고리즘은 비밀 키와 암호문을 입력받아 원래 메시지를 복원한다.
2. 2. 수학적 기반
공개 키 암호 방식은 특정한 정보(비밀 키) 없이는 풀기 매우 어려운 수학적 문제(공개 키)를 바탕으로 만들어진다. 초기 암호 방식들은 주로 두 개의 큰 소수를 곱한 숫자를 문제로 사용했는데, 이는 소인수 분해가 어렵다는 점에 착안한 것이다. 사용자는 임의의 큰 소수 두 개를 비밀 키로, 그 곱을 공개 키로 사용한다.[37]
최근에는 유한군에서의 이산 로그 문제를 이용한 타원곡선암호 등도 활용된다. 이산 로그 문제는 ''a''와 ''c''가 알려진 상태에서 방정식 ''a''''b'' = ''c''의 해 ''b''를 구하는 문제로, 실수나 복소수에서는 로그 함수를 통해 쉽게 풀 수 있지만, 유한군에서는 풀기 어려운 것으로 알려져 있다.[37]
RSA 암호 방식은 소인수 분해의 어려움에 기반한다. 큰 소수 p, q의 곱 n = pq를 계산하는 것은 쉽지만, n이 주어졌을 때 p와 q를 찾는 것은 어렵다. 암호화에는 n을, 복호화에는 p와 q를 사용하며, n을 공개 키로 공개한다. 따라서 소인수 분해를 통해 p와 q를 알아내는 것은 매우 오랜 시간이 걸려 현실적으로 어렵다.[37]
3. 역사
공개 키 암호 방식은 다음과 같은 과정을 거쳐 발전하였다.3. 1. 초기 아이디어 (1970년대 이전)
1874년 윌리엄 스탠리 제번스는 자신의 책에서 단방향 함수와 암호화의 관계를 설명하고, RSA 시스템 내 트랩도어 함수 생성에 사용된 소인수 분해 문제를 언급했다.[23] 1996년 7월, 수학자 솔로몬 W. 골롬은 "제번스는 공개 키 암호화의 개념을 발명하지는 않았지만, 공개 키 암호화의 RSA 알고리즘의 핵심적인 특징을 예견했다"고 말했다.[25] 제번스는 자신의 저서 《과학 원리》에서 다음과 같이 썼다.[23]
독자들은 어떤 두 숫자를 곱하면 숫자 8616460799가 나오는지 말할 수 있을까?[24] 내 생각에는 나 외에는 아무도 알 수 없을 것 같다.[23]
3. 2. 영국 정부 통신 본부(GCHQ)의 비밀 연구 (1970년대)
1970년, 영국 정부 통신 본부(GCHQ)의 암호학자 제임스 H. 엘리스는 "비밀이 아닌 암호화"(현재는 공개 키 암호 방식이라고 불림)의 가능성을 고안했지만, 이를 구현할 방법을 찾지 못했다.[26][27]
1973년, 그의 동료 클리포드 콕스는 RSA 암호화 알고리즘으로 알려진 "비밀이 아닌 암호화"의 실용적인 구현 방법을 제시했고, 1974년에는 GCHQ의 또 다른 수학자이자 암호학자인 맬컴 J. 윌리엄슨이 현재 디피-헬만 키 교환으로 알려진 것을 개발했다. 이 계획은 미국의 국가 안보국에도 전달되었다.[28] 두 기관 모두 군사적 목적에 집중했고, 제한적인 컴퓨팅 능력만 사용할 수 있었기에, 공개 키 암호 방식의 잠재력은 어느 기관에서도 실현되지 못했다.
랄프 벤자민영어은 다음과 같이 말했다.
> 나는 군사적 사용에 매우 중요하다고 판단했다... 키를 빠르고 전자적으로 공유할 수 있다면, 상대방보다 큰 이점을 갖게 된다. 팀 버너스리가 CERN을 위한 개방형 인터넷 아키텍처를 설계하고, 아르파넷에 적용하고 채택하면서 공개 키 암호 방식이 잠재력을 완전히 실현하게 되었다.[28]
이러한 발견은 1997년 영국 정부가 연구 내용을 기밀 해제하기 전까지 27년 동안 공개적으로 인정되지 않았다.[29]
3. 3. 공개적 발견과 발전 (1970년대 후반 ~ 현재)
1976년 휘트필드 디피와 마틴 헬만은 랄프 머클의 공개 키 분배 연구를 참고하여 디피-헬만 키 교환 방식을 발표했다. 이는 인증된 통신 채널 상에서 미리 키를 공유하지 않고도 공유 보안 키를 설정할 수 있는 최초의 실용적인 방법이었다.[30] 머클의 공개 키 교환 기법은 머클의 퍼즐이라 불리며 1974년에 고안되어 1978년에 발표되었다.
로널드 라이베스트, 아디 샤미르, 레너드 에이들먼은 MIT에서 콕스가 제안했던 것과 거의 같은 암호 방식을 재발견하고 1978년에 논문으로 발표했다. 이들은 자신들의 머리글자를 따서 이 암호 방식을 RSA라고 이름 지었다.[32] RSA는 두 개의 큰 소수를 곱한 값을 이용하여 암호화와 복호화를 수행하는 방식이며, 이 방식을 사용할 경우 보안 수준은 큰 정수의 인수 분해처럼 극도로 어려워 일반적인 기법 중에는 알려진 효과적인 방법이 없다고 가정했다. 1979년, 미하엘 라빈은 공개 키의 인수 분해가 어려울 경우 보안이 검증된 라빈 암호체계를 발표했는데 RSA의 보안 수준도 동등한 것으로 간주되고 있다.
1970년대 이후로 공개 키 암호 분야에서 암호, 서명, 키 합의 및 다른 기법과 관련된 수많은 기술이 개발되었다. 타헤르 엘가말이 고안한 ElGamal 암호체계는 이산로그문제의 어려움에 기반하고 있으며, NSA가 개발하고 NIST가 발표한 DSA도 이와 비슷한 개념을 적용했다. 1980년대 중반에는 닐 코블리츠와 빅터 밀러가 각자 독자적으로 타원곡선암호를 제안했는데, 이는 이산 알고리즘 문제에 기반한 새로운 공개 키 알고리즘을 구축하였다. 타원곡선이 수학적으로는 더 복잡하지만 동등한 수준의 보안을 위해 더 작은 키를 사용하면서도 연산 속도는 빠르다는 장점이 있다.
1990년대 초, 필 지머만은 개인용 컴퓨터에서 사용할 수 있는 프로그램 "PGP(Pretty Good Privacy)"를 개발하여 공개했다. PGP가 세계에 보급되면서, 누구나 공개 키 암호를 사용할 수 있게 되었다.
4. 종류
공개 키 암호 방식에는 여러 종류가 있으며, 널리 쓰이는 것과 그렇지 않은 것, 안전한 것과 안전하지 않은 것으로 나눌 수 있다.
널리 사용되는 비대칭 키 기술은 다음과 같다:[37]
- 디피-헬만 키 교환 프로토콜
- 디지털 서명 알고리즘을 통합한 DSS (디지털 서명 표준)
- 엘가말 암호화
- 타원 곡선 암호
- 타원 곡선 디지털 서명 알고리즘(ECDSA)
- 타원 곡선 디피-헬만(ECDH)
- Ed25519 및 Ed448 (EdDSA)
- X25519 및 X448 (ECDH/EdDH)
- 다양한 비밀번호 인증 키 합의 기술
- 파이에르 암호 시스템
- RSA 암호화 알고리즘 (PKCS#1)
- 크라머-쇼프 암호 시스템
- YAK 인증 키 합의 프로토콜
아직 널리 채택되지 않은 비대칭 키 알고리즘은 다음과 같다:[37]
- NTRUEncrypt 암호 시스템
- 키버
- 맥엘리스 암호 시스템
안전하지 않은 비대칭 키 알고리즘도 있는데, 메르클-헬만 배낭 암호 시스템이 그 예이다.[37]
비대칭 키 알고리즘을 사용하는 프로토콜은 다음과 같다:[37]
- S/MIME
- GPG (OpenPGP의 구현체이며 인터넷 표준)
- EMV (EMV 인증 기관)
- IPsec
- PGP
- ZRTP (안전한 VoIP 프로토콜)
- 전송 계층 보안 (IETF에 의해 표준화되었으며, 그 전신은 보안 소켓 계층)
- SILC
- SSH
- 비트코인
- Off-the-Record 메시징
4. 1. 주요 암호 방식
- RSA: 소인수 분해 문제 기반[37]
- 엘가말: 이산 로그 문제 기반
- 타원 곡선 암호(ECC): 타원 곡선 이산 로그 문제 기반, 더 작은 키 크기로 높은 보안 강도 제공
- NTRUEncrypt 암호 시스템: 격자 기반 암호 방식
- 키버
- 맥엘리스 암호 시스템: 양자 내성 암호의 후보
4. 2. 키 교환 프로토콜
- 디피-헬만 키 교환 프로토콜
- 타원 곡선 디피-헬만(ECDH)
4. 3. 디지털 서명 알고리즘
디지털 서명 표준(DSS)은 디지털 서명 알고리즘을 통합하고 있다. 타원 곡선 암호를 이용한 방식으로는 타원 곡선 디지털 서명 알고리즘(ECDSA), Ed25519, Ed448 (EdDSA) 등이 있다.5. 응용
공개 키 암호 시스템은 기밀성을 위한 통신 암호화, 디지털 서명, 부인 방지 등 다양한 분야에 응용된다. 발신자는 수신자의 공개 키를 사용하여 메시지를 암호화하고, 수신자는 자신의 개인 키로만 해독할 수 있다. 디지털 서명은 발신자 인증에 사용되며, 부인 방지 시스템은 문서나 통신 작성 사실을 부인할 수 없도록 한다.
이러한 기반 위에 디지털 캐시, 비밀번호 인증 키 합의, 타임스탬프 서비스 등의 응용이 가능하다. 1976년 이전에는 대칭 키 암호 방식이 주로 사용되었으나, 이는 키 분배 문제를 안고 있었다.
공개 키 암호 방식은 암호화와 복호화에 서로 다른 키를 사용함으로써 키 분배 문제를 해결했다. 다만, 일반적으로 대칭 키 암호 방식보다 암호화 및 복호화 속도가 느리기 때문에, 실제로는 "임시 대칭 키"를 이용한 데이터 암호화와 공개 키를 이용한 대칭 키 전달을 결합하는 방식이 많이 사용된다.[37]
RSA 암호는 공개 키 암호 방식을 처음으로 실현하여 널리 사용되게 되었다.
5. 1. 보안 통신
공개 키 암호 방식은 대칭 키 암호 방식과 달리, 암호화와 복호화에 서로 다른 키를 사용한다. 이를 통해 다음과 같은 보안 통신 기능을 제공한다.- '''기밀성 제공''': 수신자의 공개 키로 메시지를 암호화하여 전송하므로, 수신자의 개인 키를 가진 사람만이 메시지를 해독할 수 있다. 예를 들어, 기자는 자신의 공개 키를 웹사이트에 게시하여 정보 제공자가 비밀 메시지를 안전하게 보낼 수 있도록 할 수 있다.[7]
- '''송신자 인증''': 송신자는 자신의 개인 키와 메시지를 함께 사용하여 디지털 서명을 생성한다. 수신자는 송신자의 공개 키를 사용하여 서명을 검증함으로써 송신자를 확인할 수 있다. 예를 들어, 소프트웨어 게시자는 개인 키로 소프트웨어 업데이트에 서명하고, 사용자는 공개 키로 서명을 검증하여 업데이트의 진위 여부를 확인할 수 있다.[4][5][6]
- '''부인 방지''': 디지털 서명을 통해 송신자가 메시지를 보냈다는 사실을 부인할 수 없도록 한다.
이러한 기능들은 디지털 캐시, 비밀번호 인증 키 합의, 타임스탬프 서비스 등 다양한 응용 분야의 기반이 된다.
5. 2. 기타 응용
공개 키 암호 시스템은 다음과 같은 분야에 응용된다:- 기밀성을 위한 통신 암호화: 발신자가 수신자의 공개 키를 사용하여 메시지를 암호화하고, 수신자는 자신의 개인 키로만 해독할 수 있다.
- 디지털 서명: 발신자 인증에 사용될 수 있다.
- 부인 방지 시스템: 디지털 서명을 사용하여 문서나 통신 작성 사실을 부인할 수 없도록 한다.
- 디지털 캐시
- 비밀번호 인증 키 합의
- 타임스탬프 서비스
이 외에도, 실제 운용에서는 데이터 암호화에 "임시 대칭 키"를 사용하고, 해당 대칭 키의 전달에만 공개 키 암호 방식을 사용하는 하이브리드 암호 시스템 방식이 많이 사용된다.[37]
6. 취약점
공개 키 암호 방식은 키 분배 문제를 해결했지만, 여전히 여러 취약점을 가지고 있다.
- 정당성 및 기밀성 문제: 공개 키 암호 방식은 정당성과 기밀성이라는 두 가지 요건을 만족해야 한다. 정당성은 정당한 수신자가 암호문을 해독할 수 있어야 함을 의미하고, 기밀성은 정당한 수신자만이 암호문을 해독하거나 메시지의 정보를 얻을 수 있어야 함을 의미한다. 이러한 정당성과 기밀성을 만족하지 못할 경우, 암호화 통신 시스템에 심각한 취약점이 발생할 수 있다.
- 비변형성(Non-Malleability) 문제: 공개 키 암호 방식은 비변형성을 가져야 안전하다고 할 수 있다. 비변형성은 공격자가 암호문을 조작하여 다른 유효한 암호문을 만들 수 없음을 의미한다. 비변형성을 만족하지 못하는 경우, 공격자는 암호문의 내용을 변경하거나, 다른 메시지로 위장하는 등의 공격을 수행할 수 있다.
- 키-온리 공격 (Key Only Attack): 공격자가 공개 키만 알고 있는 상황에서의 공격이다.
- 선택 암호문 공격 (Chosen Ciphertext Attack, CCA1): 공격자가 암호문을 선택하여 복호화 결과를 얻을 수 있는 상황에서의 공격이다.
- 적응적 선택 암호문 공격 (Adaptive Chosen Ciphertext Attack, CCA2): 공격자가 CCA1 공격에 더하여, 이전 복호화 결과를 바탕으로 다음 암호문을 선택할 수 있는 더 강력한 공격이다.
이 외에도 중간자 공격(MITM), 부채널 공격과 같은 추가적인 취약점이 존재하며, 알고리즘 및 키 길이 문제, 메타데이터 유출과 같은 문제도 발생할 수 있다.
6. 1. 알고리즘 및 키 길이
양자 컴퓨터의 출현으로 많은 비대칭 키 알고리즘이 공격에 취약하다고 여겨져, 이 문제를 해결하기 위해 새로운 양자 내성 암호 방식이 개발되고 있다.[14][15] 모든 공개 키 방식은 이론적으로 "무차별 대입 키 검색 공격"에 취약하다.[16] 그러나 이러한 공격은 성공에 필요한 계산량이 방대하여 현실적으로 어렵다.더 긴 키를 사용하면 무차별 대입 공격에 대한 안전성을 높일 수 있지만, 일부 알고리즘은 짧은 키 길이에도 취약할 수 있다. RSA와 ElGamal 암호화는 무차별 대입 공격보다 빠른 공격이 알려져 있으나, 실용적인 수준은 아니다. 과거 "냅색 패킹" 알고리즘에서 취약점이 발견되기도 했다.[17] 또한, 부채널 공격과 같이 구현상의 취약점을 이용한 공격도 존재한다.
6. 2. 중간자 공격 (Man-in-the-Middle Attack)
공개 키 암호 방식에서는 공격자가 통신을 가로채 공개 키를 조작할 수 있는 중간자 공격(Man-in-the-Middle Attack, MITM)에 취약할 수 있다.공개 키 암호 방식을 사용한 통신 절차는 다음과 같다.
1. 수신자는 자신의 공개 키(암호화를 위한 키) p를 전 세계에 공개한다.
2. 송신자는 공개 키 p를 사용하여 메시지를 암호화한 다음 전송한다.
3. 수신자는 공개 키 p와 짝을 이루는 비밀 키(복호화를 위한 키) s를 은밀히 가지고 있다. 이 s를 사용하여 수신 내용을 복호화하고 송신자로부터의 메시지를 읽는다.
만약 공격자가 중간에서 송신자와 수신자 사이의 통신을 가로채, 송신자에게는 자신이 수신자인 척, 수신자에게는 자신이 송신자인 척 위장하여 공개 키를 바꿔치기한다면, 송신자와 수신자는 서로 공격자와 통신을 하게 된다. 공격자는 송신자가 보낸 암호문을 자신의 비밀 키로 복호화하여 내용을 확인하고, 다시 수신자의 공개 키로 암호화하여 수신자에게 보내는 방식으로 정보를 가로챌 수 있다.
이러한 중간자 공격은 공개 키 기반 구조(PKI) 또는 신뢰 웹(Web of Trust)과 같은 방법을 통해 방지할 수 있다.[14][15]
6. 3. 부채널 공격 (Side-Channel Attack)
공개 키 암호 방식에는 여러 잠재적 약점이 존재한다. 비대칭 키 알고리즘의 부적절한 선택이나 너무 짧은 키 길이 사용을 제외하면, 주요 보안 위험은 개인 키가 노출되는 것이다. 개인 키가 알려지면 메시지 보안, 인증 등 모든 보안이 손실된다.양자 컴퓨터의 출현으로 많은 비대칭 키 알고리즘이 공격에 취약해졌으며, 이 문제를 해결하기 위해 새로운 양자 내성 암호 방식이 개발되고 있다.[14][15]
6. 4. 메타데이터 유출
대부분의 공개 키 암호화 소프트웨어는 메시지 헤더의 메타데이터를 숨기지 않는데, 여기에는 발신자와 수신자의 신원, 발신 날짜, 제목, 사용 소프트웨어 등이 포함될 수 있다.[22] 메시지 본문만 암호화되어 의도된 수신자의 개인 키로만 해독할 수 있기 때문에, 제3자는 메시지 본문 자체를 볼 수 없더라도 통신 네트워크 참여자와 논의 중인 주제에 대한 상세한 정보를 얻을 수 있다.최근에는 발신자와 수신자의 신원을 숨기고 제3자에게 제공되는 메타데이터를 줄이는 암호화된 헤더를 사용하는 메시징 방식이 시연되었다.[22] 이 방식은 별도로 암호화된 메타데이터 블록과 암호화된 메시지를 포함하는 공개 저장소를 사용한다. 의도된 수신자만 메타데이터 블록을 해독할 수 있으며, 해독 후 메시지를 식별하고 다운로드하여 해독할 수 있다. 이러한 메시징 시스템은 현재 실험 단계이며 아직 널리 사용되지는 않는다. 이 방식이 널리 사용되면 제3자에게는 수신자가 사용 중인 받은 편지함 서버와 발신 및 수신 타임스탬프만 공개된다. 서버는 수천 명의 사용자가 공유할 수 있으므로, 소셜 네트워크 모델링이 훨씬 더 어려워진다.
7. 공개 키 기반 구조 (PKI)
공개 키 암호 방식에서는 키 분배 문제가 해결되었지만, 공개 키가 실제로 누구의 것인지 확인하는 문제가 발생한다. 암호화에 수신자의 공개 키를 사용하는데, 만약 공개 키와 사용자 간의 대응 관계가 잘못되면 엉뚱한 사람의 공개 키로 암호문을 보내게 된다. 이를 악용하여 가짜 대응표를 만들어 암호문을 해독하는 공격도 가능하다.
이러한 문제를 해결하기 위해 공개 키와 그 소유자를 연결하는 방법이 필요하며, 대표적으로 신뢰할 수 있는 제3자 기관(TTP)을 이용하는 두 가지 방법이 사용된다.
- 신뢰할 수 있는 제3자 기관이 각 사용자의 ID와 공개 키를 연결한 '''공개 키 목록'''을 만들어 공개한다.
- 신뢰할 수 있는 복수의 제3자 기관이 인증국을 운영하여, 공개 키 기반 구조(PKI) 메커니즘을 통해 각 사용자의 ID와 공개 키를 연결한다.
7. 1. 인증 기관 (Certificate Authority, CA)
공개 키 기반 구조(PKI)에서 핵심적인 역할을 하는 인증 기관(Certificate Authority, CA)은 신뢰할 수 있는 제3자 기관으로서, 사용자들의 공개 키와 신원을 연결하는 인증서를 발급하고 관리한다.인증 기관은 다음과 같은 중요한 역할을 수행한다.
- 인증서 발급: 사용자의 신원을 확인하고, 해당 사용자에게 공개 키를 할당하여 디지털 인증서를 발급한다.
- 인증서 폐기: 인증서의 유효 기간이 만료되거나, 개인 키가 유출되는 등의 문제가 발생하면 해당 인증서를 폐기한다.
- 인증서 저장 및 관리: 발급된 인증서들을 안전하게 저장하고, 필요한 경우 사용자가 인증서를 검색하고 확인할 수 있도록 관리한다.
웹 브라우저와 같은 프로그램에는 주요 인증 기관들의 목록과 해당 기관들의 자체 서명된 인증서가 내장되어 있다. 이를 통해 웹 브라우저는 웹사이트와의 안전한 통신(HTTPS 등)을 위해 인증 기관이 발급한 인증서의 진위 여부를 확인할 수 있다.
하지만 인증 기관의 보안이 뚫리면 심각한 문제가 발생할 수 있다. 공격자가 인증 기관을 해킹하여 가짜 인증서를 발급하면, 중간자 공격을 통해 사용자의 통신 내용을 도청하거나 위조할 수 있게 된다.[1] 따라서 인증 기관은 키 소유자의 신원을 철저히 확인하고, 인증서 발급 시 공개 키의 정확성을 보장하며, 자체 시스템의 보안을 유지해야 한다.
7. 2. 웹 브라우저와 TLS/SSL
웹 브라우저는 공개 키 기반 구조(PKI)를 사용하여 웹사이트의 신뢰성을 확인한다. PKI는 디지털 인증서를 통해 웹사이트의 공개 키가 진짜임을 보증한다. 웹 브라우저에는 신뢰할 수 있는 인증 기관(CA)의 목록이 내장되어 있으며, 이 CA들은 웹사이트의 인증서를 발급하고 관리한다. 사용자가 HTTPS를 사용하는 웹사이트에 접속하면, 웹 브라우저는 해당 사이트의 인증서를 확인하고, 인증서가 신뢰할 수 있는 CA에 의해 발급되었는지, 유효 기간이 지나지 않았는지 등을 검사한다. 이 과정을 통해 웹 브라우저는 사용자가 안전하게 웹사이트와 통신할 수 있도록 TLS/SSL 연결을 설정한다.8. 한국의 공개 키 암호화
이전 결과물이 없으므로, 수정할 내용이 없습니다. 이전 답변에서 말씀드렸듯이 원문 소스를 제공해주시면 위키텍스트 형식으로 '한국의 공개 키 암호화' 섹션 내용을 작성해 드릴 수 있습니다. 그 결과물을 바탕으로 수정 작업을 진행할 수 있습니다.
참조
[1]
논문
Post-quantum cryptography
http://www.nature.co[...]
2017-09-14
[2]
서적
Cryptography and Network Security: Principles and Practice
https://books.google[...]
Prentice Hall
1990-05-03
[3]
논문
Algorithms for Lightweight Key Exchange
2017-06-27
[4]
서적
Handbook of Applied Cryptography
https://cacr.uwaterl[...]
CRC Press
2022-10-08
[5]
서적
Algorithmic Number Theory
https://cr.yp.to/ant[...]
MSRI Publications
2022-10-08
[6]
서적
Lecture Notes on Cryptography
https://cseweb.ucsd.[...]
2023-06-11
[7]
서적
Handbook of Applied Cryptography
https://cacr.uwaterl[...]
CRC Press
2022-10-08
[8]
서적
Handbook of Financial Cryptography and Security
https://www.freehave[...]
Chapman & Hall/CRC
[9]
간행물
Cryptographic defense against traffic analysis
"[[Association for Computing Machinery]]"
[10]
학위논문
Non-Discretionary Access Control for Decentralized Computing Systems
https://dspace.mit.e[...]
"[[Laboratory for Computer Science]], [[Massachusetts Institute of Technology]]"
1977-05
[11]
논문
Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms
"[[Association for Computing Machinery]]"
1981-02
[12]
간행물
Defective Sign & Encrypt in S/MIME, PKCS#7, MOSS, PEM, PGP, and XML
https://www.usenix.o[...]
[13]
보고서
Authenticated Encryption in the Public-Key Setting: Security Notions and Analyses
https://eprint.iacr.[...]
IACR Cryptology ePrint Archive
2024-11-24
[14]
논문
Secure post-quantum group key exchange: Implementing a solution based on Kyber
https://ietresearch.[...]
2023-04
[15]
기타
Asymmetric Encryption
Springer Nature Switzerland
2023
[16]
서적
Understanding Cryptography: A Textbook for Students and Practitioners
http://www.crypto-te[...]
Springer
[17]
논문
A polynomial time algorithm for breaking the basic Merkle-Hellman cryptosystem
https://ieeexplore.i[...]
1982-11
[18]
웹사이트
What Is a Man-in-the-Middle Attack and How Can It Be Prevented – What is the difference between a man-in-the-middle attack and sniffing?
https://www.upguard.[...]
2020-06-26
[19]
웹사이트
What Is a Man-in-the-Middle Attack and How Can It Be Prevented - Where do man-in-the-middle attacks happen?
https://www.upguard.[...]
2020-06-26
[20]
웹사이트
China, GitHub and the man-in-the-middle
https://en.greatfire[...]
2015-06-27
[21]
웹사이트
Authorities launch man-in-the-middle attack on Google
https://en.greatfire[...]
2020-06-26
[22]
Arxiv
Warp2: A Method of Email and Messaging with Encrypted Addressing and Headers
2021-06-24
[23]
서적
The Principles of Science: A Treatise on Logic and Scientific Method
https://archive.org/[...]
"[[Macmillan & Co.]]"
2024-01-18
[24]
웹사이트
Jevons' Number
https://mathworld.wo[...]
"[[MathWorld]]"
2024-01-18
[25]
논문
On Factoring Jevons' Number
[26]
웹사이트
The Possibility of Secure Non-secret Digital Encryption
https://cryptocellar[...]
CryptoCellar
2024-01-18
[27]
뉴스
The unsung genius who secured Britain's computer defences and paved the way for safe online shopping
https://www.newindia[...]
2016-03-11
[28]
웹사이트
GCHQ pioneers on birth of public key crypto
https://www.zdnet.co[...]
2010-10-26
[29]
서적
The Code Book
Doubleday
[30]
논문
New Directions in Cryptography
http://ee.stanford.e[...]
1976-11
[31]
웹사이트
Asymmetric encryption
https://www.ionos.co[...]
2022-06-09
[32]
논문
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems
http://people.csail.[...]
2019-11-15
[33]
논문
Still Guarding Secrets after Years of Attacks, RSA Earns Accolades for its Founders
http://www.msri.org/[...]
2003-06
[34]
논문
New directions in cryptography
[35]
간행물
井上孝司著、「通信と情報の保全 暗号化の話」『軍事研究2011年11月号』
(株)ジャパン・ミリタリー・レビュー
[36]
웹사이트
Press Releases
http://www.rsa.com/p[...]
RSA
2011-09-29
[37]
문서
[38]
서적
Cryptography and Network Security: Principles and Practice
https://books.google[...]
Prentice Hall
1990-05-03
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com